// pages/book-detail/book-detail.js.js
import {
	BookModels
} from '../../models/book'
import {
	LikeModel
} from '../../models/like'
const bookModels = new BookModels()
const likeModel = new LikeModel()
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		book: {},
		// 点赞开关
		likeStatus: false,
		// 点赞数量
		likeCount: 0,
		// 短评
		comments: [],
		// 是否弹出输入短评
		posting: false,
		
	},
	// 点击like事件
	onLike(e) {
		const behavior = e.detail.behavior
		likeModel.like(behavior, this.data.book.id, 400);
	},
	// 点击输入短评触发
	onFakePost(e) {
		this.setData({
			posting: true
		})
	},
	// 输入短评点击取消触发
	onCancel() {
		this.setData({
			posting: false
		})
	},
	// 输入短评中点击短评触发
	onPost(e) {
		const id = this.data.book.id
		const text = e.detail.text || e.detail.value
		// 不能输入空格提交
		if (text.trim().length == 0) {
			wx.showToast({
				title: '请输入正确内容',
				icon: 'none',
			})
			return;
		}
		const getComment = bookModels.postComment(id, text)
		getComment.then(res => {
			wx.showToast({
				title: '+1',
				icon: 'none',
				duration: 2000
			})
			// 添加到短评第一条
			this.data.comments.unshift({
				content: text,
				nums: 1
			})
			this.setData({
				comments: this.data.comments,
				posting: false
			})
		})


	},
	
	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		// 加载提示
		wx.showLoading({
			title: '加载中',
		})
		const bid = options.bid
		const detail = bookModels.getBooksDetail(bid)
		const likeStatus = bookModels.getLikeStatus(bid)
		const comments = bookModels.getComments(bid)

		Promise.all([detail, likeStatus, comments]).then(res => {
			console.log(res);
			this.setData({
				book: res[0],
				likeCount: res[1].fav_nums,
				likeStatus: res[1].like_status,
				comments: res[2].comments
			})
			wx.hideLoading();
		})

		
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})